ATOM Cam at FreeBSD
https://gyazo.com/da5152ca488756ba1dba103f78b11f15
むとうたけし@関西*BSDユーザ会 (@610t) はじめに
最近、ATOM Camというものを購入しました。
これは、ファームウェアの書き換えで、Webカメラとして利用できるものです。
ATOM Camってなぁに?
https://gyazo.com/4d8416f90c8ead00d5fb88745614d16a
防犯カメラ・見守りカメラ・ペットカメラ(つまり、監視カメラ?)に使えるフルHD(1080p)カメラ
2500円!!
なんと、Webカメラとしても利用可能!!
新型コロナでのリモートワーク用の処置らしい。
初期設定手順
以下のような手順に従って、設定を行います。
ファームウェアを書き換えます。
webcamdを実行します。
デバイスファイル(/dev/video*)のパーミッションを調整します。
ATOM Camのファームウェアを書き換える
ここでは、詳細は省略しますが、おおまかには以下のような手順です。
ファームウェア(ACWebcam.zip)をダウンロードします。
ファームウェアdemo.binをmicroSDのルートディレクトリに書き込みます。
microSDカードをATOM Camに挿入します。
セットアップボタンを押したまま、電源を投入します。
3~6秒後、ステータスライトが青色に光ったのを確認して、セットアップボタンから手を離します。
3~4分後に、自動的に再起動します。
ステータスライトが黄色と青色の同時点灯した状態になると、更新完了です。
ATOM CamをWebカメラとして利用する場合は、USB Type-A ←→ Type-Aのケーブル(付属品に無し)を使って接続します。
webcamdの設定
webcamdを実行します。
code:/etc/rc.conf
webcamd_enable="YES"
code:shell
% sudo /etc/rc.d/webcamd restart
デバイス/dev/video[0-9]+が生成されているのを確認します。
code:shell
% ls -l /dev/video*
crw-rw---- 1 webcamd operator 0x80 May 30 21:53 /dev/video0
crw-rw---- 1 webcamd operator 0x81 May 30 21:53 /dev/video1
(必要であれば)デバイスファイルのパーミッションを調整
/dev/video0などのパーミッションをユーザー権限で使えるように調整します。
以下の3つの方法から、どれか一つを選んで実行します。この順番は、おすすめ順になっています。
1. operater groupに入ります。
code:/etc/group
operator:*:5:root,your_username
2. devfs(/etc/devfs.conf}で設定します。
code:/etc/devfs.conf
perm video* 0666
code:/etc/rc.conf
devfs_enable="YES"
code:shell
% sudo /etc/rc.d/devfs restart
3. 手動で/etc/video0のパーミッションを変更します。
% sudo chmod 666 /dev/video0
注意: 再起動後は、もう一度設定する必要があります。
以下のようになっていれば、一般ユーザで利用可能ですが、モード666は誰でも利用可能なので、operatorグループに入って、mode 660を使う方が良いでしょう。
code:shell
% ls -l /dev/video*
crw-rw-rw- 1 webcamd operator 0x80 May 30 21:53 /dev/video0
crw-rw-rw- 1 webcamd operator 0x81 May 30 21:53 /dev/video1
アプリケーションによる利用
後は、V4L(Video for Linuxに対応しており、この/dev/video*を使って動作するアプリケーションで、動作を確認します。
動作するアプリケーションには、例えば以下のようなものがあります。
pwcview(multimedia/pwcview)
vlc(multimedia/vlc)
mplayer(multimedia/mplayer)
firefox(www/firefox)
pwcviewでの利用
どちらかの方法でpwcviewをインストールします。
1. pkgを使って、pkg install pwcviewとしてインストールします。
2. portsの/usr/ports/multimedia/pwcviewでmake installでインストールします。
以下のように、pwcviewを実行します。
code:shell
% pwcview
Webcam set to: 640x360 (sif) at 5 fps
https://gyazo.com/59f29485b03dc40be52b0006c27c4596
vlcでの利用
vlcをインストール
1. pkg install vlc
2. portsの/usr/ports/multimedia/vlcでmake installでインストールします。
以下の手順で、vlcでWebカメラが利用できます。
メニューMedia→Open Capture Deviceと進め、
https://gyazo.com/45213b4abe08ca38ba982b5b688acacd
表示されたウインドウで以下のように設定します。
https://gyazo.com/207acc32873a78be6558ff797245e122
これで、以下のようにWebカメラの画像が表示されます。
https://gyazo.com/1eacdf3b75fcb5538f332b0f87d52828
mplayerでの利用
pkgのmplayerは、v4l2が使えるようにコンパイルされていないので、portsからインストールしてください。
code:shell
% cd /usr/ports/multimedia/mplayer/
% sudo make config
# 下の図のようにV4Lオプションを有効にします
% sudo make install
https://gyazo.com/ba800c7447e5a762ba0ba420fdddebce
以下のように実行することで、ビデオキャプチャを行います。
code:shell
% mplayer tv:// -tv driver=v4l2:device=/dev/video0
MPlayer SVN-r38184-snapshot-8.0.1 (C) 2000-2020 MPlayer Team
Playing tv://.
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was
used instead.
Selected device: HD USB Camera: HD USB Camera
Capabilities: video capture read/write streaming
supported norms:
inputs: 0 = Camera 1;
Current input: 0
Current format: YUYV
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
v4l2: ioctl enum norm failed: Invalid argument
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
v4l2: ioctl query control failed: Invalid argument
Failed to open VDPAU backend Shared object "libvdpau_va_gl.so" not found, requir
ed by "mplayer"
vdpau Error when calling vdp_device_create_x11: 1 ==========================================================================
Opening video decoder: raw RAW Uncompressed Video Movie-Aspect is undefined - no prescaling applied.
VO: xv 640x360 => 640x360 Planar YV12 Selected video codec: rawyv12 vfm: raw (RAW YV12) ==========================================================================
Audio: no sound
Starting playback...
V: 0.0 5713/5713 ??% ??% ??,?% 0 0
https://gyazo.com/5b5c8649bf56ac70802d66e543712c76
firefoxでの利用
firefoxでは、Webカメラが利用可能となっていますので、ビデオ会議にこのカメラを利用することができます。
例えば、オープンソースのオンライン会議システムであるjitsiの場合、以下のように設定画面が表示されるので、カメラと音声のデバイスを選択します。 https://gyazo.com/bf959d4af15fa3c2ca9670e62f0f30aa
カメラを選択すると、以下のような画面が表示されます。
右側に表示されているのが、ATOM Camでキャプチャーされた画像です。
https://gyazo.com/ce9c161ad76cfe2290a10a79db08f9f0
おわりに
FreeBSDでATOM Camを使う方法を紹介しました。
お買い得なお値段で、きれいな画面のWebカメラとして使えて、よろしいかと。